package com.ltmonitor.jt808.service;

import com.ltmonitor.entity.Alarm;
import com.ltmonitor.entity.AlarmRecord;
import com.ltmonitor.entity.EWayBill;
import com.ltmonitor.entity.GPSRealData;
import com.ltmonitor.jt809.entity.DriverModel;
import com.ltmonitor.jt809.entity.VehicleRegisterInfo;
import com.ltmonitor.vo.GnssData;
import com.ltmonitor.vo.TakePhotoModel;
/**
 * gps数据从808模块转发到809模块的服务
 * @author admin
 *
 */
public interface ITransferGpsService {

	public abstract void transfer(GnssData gd);

	public abstract void setTransferTo809Enabled(boolean startTransfer);

	public abstract void transfer(Alarm alarm);

	public abstract void transfer(EWayBill ebill);

	/**
	 * 转发终端对监听的应答
	 * @param plateNo
	 * @param plateColor
	 * @param result 终端的应答结果
	 */
	public abstract void transferListenTerminalAck(String plateNo, int plateColor,
			byte result);

	public abstract void transferEmergencyAccessAck(String plateNo,
			int plateColor, byte result);

	public abstract void transferTextInfoAck(String plateNo, int plateColor,
			int msgId, byte result);

	public abstract void transferRecorderData(String plateNo, int plateColor,
			byte cmdType, byte[] cmdData);

	public abstract void transfer(TakePhotoModel ph);

	/**
	 * 转发注册消息
	 * @param vm
	 */
	void transferRegisterInfo(VehicleRegisterInfo vm);

	void transferDriverInfo(DriverModel d);

	void start();

	void stop();

	boolean isTransferTo809Enabled();
	boolean isTransferAlarmTo809Enabled();

}